﻿
using System;
using System.Windows.Forms;

namespace Library.Winform.Draw.Tools {
  public interface IToolGraphic {
    /// <summary>
    /// Left nous button is pressed
    /// </summary>
    /// <param name="container"></param>
    /// <param name="e"></param>
    void OnMouseDown(IDrawContainer container, MouseEventArgs e);

    /// <summary>
    /// Mouse is moved, left mouse button is pressed or none button is pressed
    /// </summary>
    /// <param name="container"></param>
    /// <param name="e"></param>
    void OnMouseMove(IDrawContainer container, MouseEventArgs e);


    /// <summary>
    /// Left mouse button is released
    /// </summary>
    /// <param name="container"></param>
    /// <param name="e"></param>
    void OnMouseUp(IDrawContainer container, MouseEventArgs e);
    /// <summary>
    /// Left mouse button click, for pointer tool override only
    /// </summary>
    /// <param name="container"></param>
    /// <param name="e"></param>
    void OnMouseClick(IDrawContainer container, MouseEventArgs e);

    
    void OnDoubleClick(IDrawContainer container, EventArgs e);
    /// <summary>
    /// Left mouse button double click, for pointer tool override only
    /// </summary>
    /// <param name="container"></param>
    /// <param name="e"></param>
    void OnMouseDoubleClick(IDrawContainer container, MouseEventArgs e);
  }
}
